#pragma once
#include "..\nilkey.h"

class CNilKeyPlus :
	public CNilKey
{
public:
	CNilKeyPlus(void);
	CNilKeyPlus(const CNilKeyPlus& tmp);
	~CNilKeyPlus(void);
private:

	inline void ChangeBit(const int nPos)
	{
		if(nPos>=SIZE*sizeof(unsigned int)*8)
		{
			return;
		}
		else
		{
			int nIndex = nPos/(sizeof(unsigned int)*8);
			unsigned int nMark = 1<<( nPos%(8*sizeof(unsigned int)));
			m_rgId[nIndex] = ((nMark&m_rgId[nIndex])==0)?m_rgId[nIndex]|nMark:m_rgId[nIndex]&~nMark;
		}
	};
public:
	void InverseBits(const int nBitNumber);
};
